using System;
using System.Collections;

namespace Com.CMS263.PO
{
	#region StudentInfo

	/// <summary>
	/// StudentInfo object for NHibernate mapped table 'StudentInfo'.
	/// </summary>
	public class StudentInfo
	{
		#region Member Variables
		
		protected int _id;
		protected string _userName;
		protected string _userPass;
		protected DateTime _addDate;
		protected string _parentMobilePhone;
		protected string _headImage;
		protected string _realName;
		protected string _age;
		protected string _stuNum;
		protected string _className;
		protected string _teacherEmail;
		protected string _teacherMessage;

		#endregion

		#region Constructors

		public StudentInfo() { }

		public StudentInfo( string userName, string userPass, DateTime addDate, string parentMobilePhone, string headImage, string realName, string age, string stuNum, string className, string teacherEmail, string teacherMessage )
		{
			this._userName = userName;
			this._userPass = userPass;
			this._addDate = addDate;
			this._parentMobilePhone = parentMobilePhone;
			this._headImage = headImage;
			this._realName = realName;
			this._age = age;
			this._stuNum = stuNum;
			this._className = className;
			this._teacherEmail = teacherEmail;
			this._teacherMessage = teacherMessage;
		}

		#endregion

		#region Public Properties

		public virtual int Id
		{
			get {return _id;}
			set {_id = value;}
		}

		public  virtual string UserName
		{
			get { return _userName; }
			set
			{
				if ( value != null && value.Length > 50)
					throw new ArgumentOutOfRangeException("Invalid value for UserName", value, value.ToString());
				_userName = value;
			}
		}

		public  virtual string UserPass
		{
			get { return _userPass; }
			set
			{
				if ( value != null && value.Length > 50)
					throw new ArgumentOutOfRangeException("Invalid value for UserPass", value, value.ToString());
				_userPass = value;
			}
		}

		public  virtual DateTime AddDate
		{
			get { return _addDate; }
			set { _addDate = value; }
		}

		public  virtual string ParentMobilePhone
		{
			get { return _parentMobilePhone; }
			set
			{
				if ( value != null && value.Length > 50)
					throw new ArgumentOutOfRangeException("Invalid value for ParentMobilePhone", value, value.ToString());
				_parentMobilePhone = value;
			}
		}

		public  virtual string HeadImage
		{
			get { return _headImage; }
			set
			{
				if ( value != null && value.Length > 50)
					throw new ArgumentOutOfRangeException("Invalid value for HeadImage", value, value.ToString());
				_headImage = value;
			}
		}

		public  virtual string RealName
		{
			get { return _realName; }
			set
			{
				if ( value != null && value.Length > 50)
					throw new ArgumentOutOfRangeException("Invalid value for RealName", value, value.ToString());
				_realName = value;
			}
		}

		public  virtual string Age
		{
			get { return _age; }
			set
			{
				if ( value != null && value.Length > 50)
					throw new ArgumentOutOfRangeException("Invalid value for Age", value, value.ToString());
				_age = value;
			}
		}

		public  virtual string StuNum
		{
			get { return _stuNum; }
			set
			{
				if ( value != null && value.Length > 50)
					throw new ArgumentOutOfRangeException("Invalid value for StuNum", value, value.ToString());
				_stuNum = value;
			}
		}

		public  virtual string ClassName
		{
			get { return _className; }
			set
			{
				if ( value != null && value.Length > 50)
					throw new ArgumentOutOfRangeException("Invalid value for ClassName", value, value.ToString());
				_className = value;
			}
		}

		public  virtual string TeacherEmail
		{
			get { return _teacherEmail; }
			set
			{
				if ( value != null && value.Length > 50)
					throw new ArgumentOutOfRangeException("Invalid value for TeacherEmail", value, value.ToString());
				_teacherEmail = value;
			}
		}

		public  virtual string TeacherMessage
		{
			get { return _teacherMessage; }
			set
			{
				if ( value != null && value.Length > 2000)
					throw new ArgumentOutOfRangeException("Invalid value for TeacherMessage", value, value.ToString());
				_teacherMessage = value;
			}
		}

		

		#endregion
	}
	#endregion
}